#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
//fputc, fputs
//int main()
//{
//	char ch = 'a';
//	FILE* fp = fopen("text.txt", "w");
//	if (fp == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fputc(ch, fp);
//	char arr[30] = { 0 };
//	for (int i = 0; i < 26; i++)
//	{
//		arr[i] = i + 'a';
//	}
//	fputs(arr, fp);
//	fclose(fp);
//	fp = NULL;
//	return 0;
//}
//fgetc, fgets
//int main()
//{
//	int ch = 0;
//	FILE* fp = fopen("text.txt", "r");
//	if (fp == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	ch = fgetc(fp);
//	printf("%c\n", ch);
//	char arr[30] = { 0 };
//	fgets(arr, 30, fp);
//	for (int i = 0; i < 26; i++)
//		printf("%c ", arr[i]);
//	fclose(fp);
//	fp = NULL;
//	return 0;
//}
//fprintf, fscanf
//struct stu
//{
//	char name[20];
//	int year;
//	char number[9];
//};
//int main()
//{
//	struct stu in = { "xiaoming", 18, "20231377" };
//	//FILE* fp = fopen("ftext.txt", "w");
//	//fprintf(fp, "%s %d %s", in.name, in.year, in.number);
//	FILE* fp = fopen("ftext.txt", "r");
//	if (fp == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	struct stu out = { 0 };
//	fscanf(fp, "%s %d %s", &out.name, &out.year, &out.number);
//	printf("%s %d %s", out.name, out.year, out.number);
//	fclose(fp);
//	fp = NULL;
//	
//	return 0;
//}

struct stu
{
	char name[20];
	int year;
	char number[10];
};
int main()
{
	char arr1[50];
	struct stu in = { "xiaogang", 18, "20231455" };
	sprintf(arr1, "%s %d %s", in.name, in.year, in.number);
	printf("arr1: %s\n", arr1);
	struct stu out = { 0 };
	sscanf(arr1, "%s %d %s", &out.name, &out.year, &out.number);
	printf("out: %s %d %s\n", out.name, out.year, out.number);
	return 0;
}